/**
* creation date: 27.04.2006
* first author: dsl
*
* (C) Copyright Die Softwareschneiderei GmbH, Karlsruhe, Germany
*/
package de.dhbw.tit07.progress.types;
import java.text.DecimalFormat;
public class Percent {
public static final Percent ONEHUNDRED_PERCENT = Percent.createFromFactor(1.0d);
public static final double PERCENTAGE_FACTOR = 100.0d;
private final double value;
public Percent(double value) {
super();
this.value = value;
}
public static Percent createFromFactor(double factor) {
return new Percent(factor * Percent.PERCENTAGE_FACTOR);
}
public static Percent createFromFactor(int part, int whole) {
return Percent.createFromFactor(((double) part) / whole);
}
public double getValue() {
return this.value;
}
public double getAsFactor() {
return (getValue() / Percent.PERCENTAGE_FACTOR);
}
@Override
public String toString() {
return toFormattedString(null);
}
public String toFormattedString(DecimalFormat format) {
StringBuilder result = new StringBuilder();
if (format != null) {
result.append(format.format(getValue()));
} else {
result.append(getValue());
}
result.append(" %"); //$NON-NLS-1$
return result.toString();
}
/**
* Bastard code, got generated by Eclipse 3.4.1
*/
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
long temp;
temp = Double.doubleToLongBits(this.value);
result = prime * result + (int) (temp ^ (temp >>> 32));
return result;
}
/**
* Bastard code, got generated by Eclipse 3.4.1
*/
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Percent other = (Percent) obj;
if (Double.doubleToLongBits(this.value) != Double
.doubleToLongBits(other.value))
return false;
return true;
}
}